Skip to content

Conversation

mati865
Copy link
Member

@mati865 mati865 commented May 7, 2025

This is a temporary single-release workflow to create stage0 for these targets.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

--enable-full-tools for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory.

rust-lang/compiler-team#877

@rustbot
Copy link
Collaborator

rustbot commented May 7, 2025

r? @marcoieni

rustbot has assigned @marcoieni.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels May 7, 2025
@rustbot
Copy link
Collaborator

rustbot commented May 7, 2025

This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp.

@mati865
Copy link
Member Author

mati865 commented May 11, 2025

Forgot to include try-job. Fixed it.

@marcoieni
Copy link
Member

This will require MCP, but I suppose we need to know how long it takes to build first.

ok, so I guess we need to try this, right?

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request May 15, 2025
{aarch64,x86_64}-*-windows-gnullvm: build host tools

This will require MCP, but I suppose we need to know how long it takes to build first.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine.

Almost every commit is self-contained, so let me know if I should split them into separate PRs.

try-job: dist-windows-gnullvm
@bors
Copy link
Collaborator

bors commented May 15, 2025

⌛ Trying commit d0b81ca with merge 9772d67...

@rust-log-analyzer

This comment has been minimized.

@marcoieni
Copy link
Member

maybe you need to add the job to the src/ci/github-actions/jobs.yml file?

@bors
Copy link
Collaborator

bors commented May 15, 2025

💥 Test timed out

@mati865
Copy link
Member Author

mati865 commented May 15, 2025

Oh, right. Totally forgot about it.

@marcoieni
Copy link
Member

@bors try

@bors
Copy link
Collaborator

bors commented May 16, 2025

⌛ Trying commit b256449 with merge 34c404a...

bors added a commit to rust-lang-ci/rust that referenced this pull request May 16, 2025
{aarch64,x86_64}-*-windows-gnullvm: build host tools

This will require MCP, but I suppose we need to know how long it takes to build first.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine.

Almost every commit is self-contained, so let me know if I should split them into separate PRs.

try-job: dist-windows-gnullvm
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented May 16, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 16, 2025
@mati865
Copy link
Member Author

mati865 commented May 16, 2025

System.IO.IOException: No space left on device

Unfortunately, free CI runners are not as capable as I had hoped. I've split the jobs now, but dunno if this will be acceptable.

@marcoieni
Copy link
Member

I've split the jobs now, but dunno if this will be acceptable.

yes, we prefer multiple free runner compared to 1 large runner 👍

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request May 19, 2025
{aarch64,x86_64}-*-windows-gnullvm: build host tools

This will require MCP, but I suppose we need to know how long it takes to build first.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine.

Almost every commit is self-contained, so let me know if I should split them into separate PRs.

try-job: dist-aarch64-windows-gnullvm
try-job: dist-x86_64-windows-gnullvm
@bors
Copy link
Collaborator

bors commented May 19, 2025

⌛ Trying commit a84e84e with merge 9e708f5...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented May 19, 2025

💔 Test failed - checks-actions

@marcoieni
Copy link
Member

@bors try

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 19, 2025
@bors bors merged commit d1d8e38 into rust-lang:master Jun 19, 2025
11 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 19, 2025
Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 044514e (parent) -> d1d8e38 (this PR)

Test differences

No test diffs found

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard d1d8e386c5e84c4ba857f56c3291f73c27e2d62a --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-msvc-ext1: 7280.1s -> 10456.1s (43.6%)
  2. x86_64-apple-2: 5025.2s -> 6830.3s (35.9%)
  3. dist-x86_64-apple: 8007.9s -> 9332.3s (16.5%)
  4. x86_64-apple-1: 9017.3s -> 7874.8s (-12.7%)
  5. dist-aarch64-apple: 5567.3s -> 6163.9s (10.7%)
  6. x86_64-mingw-1: 8562.6s -> 9185.7s (7.3%)
  7. x86_64-gnu-aux: 6373.6s -> 5914.7s (-7.2%)
  8. dist-various-1: 4189.3s -> 3905.3s (-6.8%)
  9. mingw-check-2: 1977.4s -> 2104.9s (6.4%)
  10. dist-x86_64-illumos: 5511.5s -> 5817.0s (5.5%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d1d8e38): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -2.5%, secondary 0.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.5% [2.5%, 4.6%] 2
Improvements ✅
(primary)
-2.5% [-3.4%, -1.5%] 2
Improvements ✅
(secondary)
-6.0% [-6.0%, -6.0%] 1
All ❌✅ (primary) -2.5% [-3.4%, -1.5%] 2

Cycles

Results (secondary -0.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.4% [2.4%, 2.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.7% [-2.7%, -2.7%] 1
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 693.624s -> 692.944s (-0.10%)
Artifact size: 372.05 MiB -> 372.01 MiB (-0.01%)

@mati865 mati865 deleted the gnullvm-host branch June 22, 2025 00:10
@mati865 mati865 added the relnotes Marks issues that should be documented in the release notes of the next release. label Jun 26, 2025
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 28, 2025
…Simulacrum

Add windows-gnullvm hosts to the manifest

I made a mistake testing rust-lang#140772 only with `rustup-toolchain-install-master` which doesn't care about the manifests.

This means windows-gnullvm self-hosting will have to wait one more release, unless this change is backported to beta and a new beta release is made, which doesn't seem worth the trouble.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 28, 2025
…Simulacrum

Add windows-gnullvm hosts to the manifest

I made a mistake testing rust-lang#140772 only with `rustup-toolchain-install-master` which doesn't care about the manifests.

This means windows-gnullvm self-hosting will have to wait one more release, unless this change is backported to beta and a new beta release is made, which doesn't seem worth the trouble.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 28, 2025
…Simulacrum

Add windows-gnullvm hosts to the manifest

I made a mistake testing rust-lang#140772 only with `rustup-toolchain-install-master` which doesn't care about the manifests.

This means windows-gnullvm self-hosting will have to wait one more release, unless this change is backported to beta and a new beta release is made, which doesn't seem worth the trouble.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 28, 2025
…Simulacrum

Add windows-gnullvm hosts to the manifest

I made a mistake testing rust-lang#140772 only with `rustup-toolchain-install-master` which doesn't care about the manifests.

This means windows-gnullvm self-hosting will have to wait one more release, unless this change is backported to beta and a new beta release is made, which doesn't seem worth the trouble.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 28, 2025
…Simulacrum

Add windows-gnullvm hosts to the manifest

I made a mistake testing rust-lang#140772 only with `rustup-toolchain-install-master` which doesn't care about the manifests.

This means windows-gnullvm self-hosting will have to wait one more release, unless this change is backported to beta and a new beta release is made, which doesn't seem worth the trouble.
rust-timer added a commit that referenced this pull request Jun 29, 2025
Rollup merge of #143031 - mati865:push-mutywntmvomx, r=Mark-Simulacrum

Add windows-gnullvm hosts to the manifest

I made a mistake testing #140772 only with `rustup-toolchain-install-master` which doesn't care about the manifests.

This means windows-gnullvm self-hosting will have to wait one more release, unless this change is backported to beta and a new beta release is made, which doesn't seem worth the trouble.
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jun 29, 2025
Add windows-gnullvm hosts to the manifest

I made a mistake testing rust-lang/rust#140772 only with `rustup-toolchain-install-master` which doesn't care about the manifests.

This means windows-gnullvm self-hosting will have to wait one more release, unless this change is backported to beta and a new beta release is made, which doesn't seem worth the trouble.
@cuviper cuviper removed the relnotes Marks issues that should be documented in the release notes of the next release. label Jul 17, 2025
mati865 added a commit to mati865/rust that referenced this pull request Aug 15, 2025
mati865 added a commit to mati865/rust that referenced this pull request Aug 15, 2025
mati865 added a commit to mati865/rust that referenced this pull request Aug 15, 2025
Revert rust-lang#143031 and
rust-lang#140772 due to the issue with host
tools reported in https://github.com/rust-lang/rust/issue/144533.

This reverts commits 508021a and
d577b39.

The decision was made in
rust-lang#144659 (comment).
Tracking issue: rust-lang#145435
mati865 added a commit to mati865/rust that referenced this pull request Aug 15, 2025
rust-bors bot added a commit that referenced this pull request Aug 15, 2025
bors added a commit that referenced this pull request Aug 16, 2025
[beta] Revert #143031 and #140772 due to #144533

The decision was made in #144659 (comment).
Tracking issue: #145435

r? jieyouxu

try-job: dist-various-1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants